export function isExternal (path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

// 校验正整数
export function validPositiveInteger (rule, value, callback) {
  const reg = /^[1-9]\d*$/
  if (!value) {
    callback(new Error('不能为空!'))
  } else {
    if (!reg.test(value)) {
      callback(new Error('请输入正整数!'))
    } else {
      callback()
    }
  }
}

// 校验数字(必填)
export function validNumber (rule, value, callback) {
  // const reg = /^[1-9]\d*$/  // 浮点数
  const reg = /^(-?[0-9]{1,}([.][0-9]{1,})*)$/ // 整数或浮点数
  if (!value) {
    callback(new Error('不能为空!'))
  } else {
    if (!reg.test(value)) {
      callback(new Error('请输入数字!'))
    } else {
      callback()
    }
  }
}

// 校验数字(非必填)
export function validNumberAndEmpty (rule, value, callback) {
  const reg = /^(-?[0-9]{1,}([.][0-9]{1,})*)$/ // 整数或浮点数
  if (!value) {
    callback()
  } else {
    if (!reg.test(value)) {
      callback(new Error('请输入数字!'))
    } else {
      callback()
    }
  }
}

// 校验字符
export function validString (rule, value, callback) {
  const reg = /^[\u4e00-\u9fa5a-zA-Z0-9]+$/
  if (!value) {
    callback(new Error('不能为空!'))
  } else {
    if (!reg.test(value)) {
      callback(new Error('不能输入特殊字符!'))
    } else {
      callback()
    }
  }
}
